<template>
  <div>
    <el-tree
      :data="menus"
      :props="defaultProps"
      node-key="catId"
      ref="menuTree"
      @node-click="nodeClick">
    </el-tree>

  </div>
</template>

<script>
export default {
  data () {
    return {
      menus: [],
      expandedKey: [],
      defaultProps: {
        children: "children",
        label: "name"
      }
    }
  },

  //计算属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    getMenus() {
      this.$http({
        url: this.$http.adornUrl("/product/category/list/tree"),
        method: "get"
      }).then(({ data }) => {
        this.menus = data.data;
      });
    },
    nodeClick(data,node,component){
      console.log('子组件category的节点被点击',data,node,component);
      //向父组件发送事件
      this.$emit("tree-node-click",data,node,component);
    }
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created () {
  },
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted () {
    this.getMenus();
  },
  beforeCreate () {
  }, //生命周期 - 创建之前
  beforeMount () {
  }, //生命周期 - 挂载之前
  beforeUpdate () {
  }, //生命周期 - 更新之前
  updated () {
  }, //生命周期 - 更新之后
  beforeDestroy () {
  }, //生命周期 - 销毁之前
  destroyed () {
  }, //生命周期 - 销毁完成
  activated () {
  } //如果页面有keep-alive缓存功能，这个函数会触发
}
</script>
<style scoped>
</style>
